//
//  KZMenuView.h
//  KZTools_ObjectC
//
//  Created by 朱凯 on 2018/11/27.
//  Copyright © 2018年 zhukai. All rights reserved.
//

#import <UIKit/UIKit.h>

/**
 箭头朝向枚举
 */
typedef enum : NSUInteger {
    KZMenuViewArrowDirectionDefault,
    KZMenuViewArrowDirectionUp,
    KZMenuViewArrowDirectionDown,
} KZMenuViewArrowDirection;

@class KZMenuViewItem;
@interface KZMenuView : UIControl <UITableViewDataSource, UITableViewDelegate>

/**
 item之间分隔线的颜色
 默认：table的separatorColor
 */
@property (nonatomic, strong) UIColor *separatorColor;
/**
 item的宽度，即menu的宽度
 默认：100
 */
@property (nonatomic, assign) CGFloat itemWidth;
/**
 单个item的高度
 默认：40
 */
@property (nonatomic, assign) CGFloat itemHeight;
/**
 箭头的位置，单元量
 默认：0.5
 */
@property (nonatomic, assign) CGFloat arrowPosition;
/**
 菜单边角
 默认：2
 */
@property (nonatomic, assign) CGFloat corner;
/**
 菜单箭头朝向
 默认：KZMenuViewArrowDirectionDefault(根据arrowPoint基于父view的位置自动判断)
 */
@property (nonatomic, assign) KZMenuViewArrowDirection arrowDirection;
/**
 箭头size
 默认：(10, 6)
 */
@property (nonatomic, assign) CGSize arrowSize;

/**
 背景阴影透明度
 默认：0.3
 */
@property (nonatomic, assign) CGFloat shadowAlpha;

/**
 菜单的背景颜色
 默认：UIColor.whiteColor
 */
@property (nonatomic, strong) UIColor *menuBackgroundColor;


/**
 点击回调
 */
@property (nonatomic, copy  ) void (^itemClickBlock)(NSInteger index);

/**
 菜单列表，不能为空
 */
@property (nonatomic, strong, nonnull) NSArray<KZMenuViewItem *> *menuItems;


/**
 展示菜单

 @param point 箭头的位置
 @param view 父视图
 */
- (void)showAtPoint:(CGPoint)point inView:(UIView *)view;

@end



/**
 菜单item类
 */
@interface KZMenuViewItem: NSObject

@property (nonatomic, strong) UIImage *image;
@property (nonatomic, strong) UIColor *titleColor;
@property (nonatomic, strong) UIFont *titleFont;
@property (nonatomic, copy  ) NSString *title;




@end
